﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Sistema.WF.Componentes.FormulariosBase;
using Sistema.NFe;
using Sistema.Dominio;


namespace Sistema.WF.View.NFe
{
    public partial class FRM_CancelarNota : FRM_pai
    {
        private IList<NFeInfo> _nfe;
        public FRM_CancelarNota(IList<NFeInfo> dados)
        {
            InitializeComponent();
            _nfe = new List<NFeInfo>();
            _nfe = dados;
            this.VerficaCancelamento(_nfe);
        }
 
        private List<NFeInfo> VerficaCancelamento(IList<NFeInfo> dados)
        {
            IList<NFeInfo> lista = new List<NFeInfo>();
            
            for (int i = 0; i < dados.Count; i++)
            {
                if (dados[i].StatusNota == enumStatusNota.Liberada)
                {
                    lista.Add(dados[i]);
                }
            }
            return lista.ToList<NFeInfo>();
        }

        private void RecolheDaTela()
        {
            try
            {
                if (TXT_justificativa.Text.Count() >= 15)
                {

                        CancelarNFe cancelaNota = new CancelarNFe();
                        cancelaNota.Cancelar(_nfe, TXT_justificativa.Text, new Util.CertificadoDigital().PesquisarCertificadoDigital());
                    
                }
                else
                {
                    MessageBox.Show("A Justificativa deve conter ao menos 15 caracteres.");
                }
               
            }
            catch (ViewException ex)
            {
                throw ex;
            }
            
        }

        public void Pesquisar()
        {
            this.ShowDialog();

        }
       public void LimparCampos()
        {
            TXT_justificativa.Clear();
        }

        private void CMD_enviar_Click(object sender, EventArgs e)
        {
            this.RecolheDaTela();
            this.LimparCampos();
            this.Close();
        }

        private void CMD_sair_Click(object sender, EventArgs e)
        {
            this.Close();
            this.Dispose();
        }

        
    }
}
